/**
	信息总览面板
**/

Ext.onReady(function(){
	var store = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : 'dev/getDevRunInfo.action'
						}),
				reader : new Ext.data.JsonReader({
							totalProperty : 'TOTALCOUNT',
							root : 'ROOT'
						}, [{
									name : 'id'
								}, {
									name : 'devCode'
								}, {
									name : 'devName'
								}, {
									name : 'devSpi'
								}, {
									name : 'ownUnit'
								}, {
									name : 'tn'
								}, {
									name : 'startTime'
								}, {
									name : 'endTime'
								}, {
									name : 'runTime'
								}, {
									name : 'runDistance'
								}, {
									name : 'weidu'
								}, {
									name : 'jingdu'
								}]),
								autoLoad:true
			});
	// 翻页排序时带上查询条件
	store.on('beforeload', function() {
				this.baseParams = {
					devSpi : Ext.getCmp('devSpiChoise').getValue(),
					ownUnit : Ext.getCmp('ownUnitChoise').getValue(),
					startTime : Ext.util.Format.date(Ext.getCmp('startTime').getValue(),'Y-m-d H:i:s'),
					endTime : Ext.util.Format.date(Ext.getCmp('endTime').getValue(),'Y-m-d H:i:s')
				};
			});
	var pagesize_combo = new Ext.form.ComboBox({
				name : 'pagesize',
				hiddenName : 'pagesize',
				typeAhead : true,
				triggerAction : 'all',
				lazyRender : true,
				mode : 'local',
				store : new Ext.data.ArrayStore({
							fields : ['value', 'text'],
							data : [[10, '10条/页'], [20, '20条/页'],
									[50, '50条/页'], [100, '100条/页'],
									[250, '250条/页'], [500, '500条/页']]
						}),
				valueField : 'value',
				displayField : 'text',
				value : '50',
				editable : false,
				width : 85
			});
	var number = parseInt(pagesize_combo.getValue());
	pagesize_combo.on("select", function(comboBox) {
				bbar.pageSize = parseInt(comboBox.getValue());
				number = parseInt(comboBox.getValue());
				store.reload({
							params : {
								start : 0,
								limit : bbar.pageSize
							}
						});
			});
	var bbar = new Ext.PagingToolbar({
				pageSize : number,
				store : store,
				displayInfo : true,
				displayMsg : '显示{0}条到{1}条,共{2}条',
				plugins : new Ext.ux.ProgressBarPager(), // 分页进度条
				emptyMsg : "没有符合条件的记录",
				items : ['-', '&nbsp;&nbsp;', pagesize_combo]
			});
			
	var sm = new Ext.grid.CheckboxSelectionModel();
	var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
				header : '记录ID',
				dataIndex : 'id',
				sortable : true
			}, {
				header : '设备编号',
				dataIndex : 'devCode',
				sortable : true
			}, {
				header : '设备名称',
				dataIndex : 'devName'
			}, {
				header : '设备规格',
				dataIndex : 'devSpi',
				sortable : true
			}, {
				header : '归属单位',
				dataIndex : 'ownUnit',
				sortable : true
			}, {
				header : '通信号码',
				dataIndex : 'tn',
				summaryRenderer:function(v, params, data){
					var jsonData = store.reader.jsonData;
					var recordNum ='总记录数：';
					if(typeof(jsonData)=='undefined'){
                		recordNum +='0';
                	}else{
                		recordNum += jsonData.TOTALCOUNT!=null?jsonData.TOTALCOUNT:0;
                	}
					return recordNum;
				}
			}, {
				header : '开始时间',
				dataIndex : 'startTime',
				width : 130,
				sortable : true,
				summaryRenderer:function(v, params, data){
					var jsonData = store.reader.jsonData;
					var devNum ='总设备数：';
					if(typeof(jsonData)=='undefined'){
                		devNum +='0';
                	}else{
                		devNum += jsonData.devCount!=null?jsonData.devCount:0;
                	}
					return devNum;
				}
			}, {
				header : '停止时间',
				dataIndex : 'endTime',
				width:130,
				sortable:true,
				summaryRenderer:function(v, params, data){
					var jsonData = store.reader.jsonData;
					var totalRunTime ='总运行时间  ';
                	if(typeof(jsonData)=='undefined'){
                		totalRunTime+='0';
                	}else{
	                	totalRunTime+= jsonData.totalRunTime!=null?jsonData.totalRunTime:0;
                	}
                	return totalRunTime;
				}
			},{
				header : '运行时间',
				dataIndex : 'runTime',
				sortable : true,
				width:120,
				summaryRenderer:function(v, params, data){
					var jsonData = store.reader.jsonData;
					var totalRunD ='总运行里程  ';
                	if(typeof(jsonData)=='undefined'){
                		totalRunD+='0';
                	}else{
	                	totalRunD+= jsonData.totalDistance!=null?jsonData.totalDistance:0;
                	}
                	return totalRunD;
				}
			},{
				header : '运行里程',
				dataIndex : 'runDistance',
				sortable : true,
				width:120
			}, {
				header : '当前维度',
				dataIndex : 'weidu'
			}, {
				header : '当前经度',
				dataIndex : 'jingdu'
			}]);
	var summary = new Ext.ux.grid.GridSummary();
	var grid = new Ext.grid.GridPanel({
				height : 510,
				plugins: [summary],
				store : store,
				region : 'center',
				loadMask : {
					msg : '正在加载表格数据,请稍等...'
				},
				stripeRows : true,
				frame : false,
				border:false,
				cm : cm,
				sm : sm,
				tbar : ['设备规格：',{
							xtype:'combo',
							store:new Ext.data.JsonStore({
										       fields : [
										           'devSpiCode', 'devSpiName' 
										       ],
										       url:'dev/getDevSpiList.action',
										       autoLoad:true
										   }),
							mode: 'local',
							displayField:'devSpiName',
							valueField:'devSpiCode',
							triggerAction :'all',
				            name:"devSpiChoise",
				            id:"devSpiChoise",
				            emptyText:'选择设备规格',
				            listeners:{
				            	select:function(){
				            		
				            	}
				            }
						}, '-','归属单位：', {
							xtype:'combo',
							store:new Ext.data.JsonStore({
										       fields : [
										           'ownUnitCode', 'ownUnitName' 
										       ],
										       url:'dev/getOwnUnitList.action',
										       autoLoad:true
										   }),
							mode: 'local',
							displayField:'ownUnitName',
							valueField:'ownUnitCode',
							triggerAction :'all',
				            name:"ownUnitChoise",
				            id:"ownUnitChoise",
				            emptyText:'选择归属单位',
				            listeners:{
				            	select:function(){
				            		
				            	}
				            }
						}, '-','开始时间：',{
							xtype:'datefield',
							emptyText : '请选择开始时间',
							readOnly : false,
							allowBlank : true,
							format : 'Y-m-d',//日期格式
							name : 'startTime',
							id : 'startTime',
							width:130
						},
 							'-', '停止时间：',{
							xtype:'datefield',
							emptyText : '请选择停止时间',
							readOnly : false,
							allowBlank : true,
							format : 'Y-m-d',//日期格式
							name : 'endTime',
							id : 'endTime',
							width:130
						}, '&nbsp;&nbsp;&nbsp;&nbsp;', {
							text : '查询',
							iconCls : 'previewIcon',
							handler : function() {
								store.reload({
									params:{
										devSpi : Ext.getCmp('devSpiChoise').getValue(),
										ownUnit : Ext.getCmp('ownUnitChoise').getValue(),
										startTime : Ext.util.Format.date(Ext.getCmp('startTime').getValue(),'Y-m-d H:i:s'),
										endTime : Ext.util.Format.date(Ext.getCmp('endTime').getValue(),'Y-m-d H:i:s'),
										start : 0,
										limit : bbar.pageSize
									}
								});
							}
						}, '->',{
							text : '导出为Excel',
							iconCls : 'page_excelIcon',
							handler : function() {
								download();
							}
						}],
				bbar : bbar
			});	
	
	
	//下载为Excel
	function download(){
		var devSpi = Ext.getCmp('devSpiChoise').getValue();
		var ownUnit = Ext.getCmp('ownUnitChoise').getValue();
		var startTime = Ext.util.Format.date(Ext.getCmp('startTime').getValue(),'Y-m-d H:i:s');
		var endTime = Ext.util.Format.date(Ext.getCmp('endTime').getValue(),'Y-m-d H:i:s');
		
		var fd=Ext.get('afrmDummy');
		
		if (!fd) {
	        fd=Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'afrmDummy',action:'dev/downloadExcel.action',name:'frmDummy',cls:'x-hidden',cn:[
	            {tag:'input',name:'devSpi',id:'devSpi2',type:'hidden'},
	            {tag:'input',name:'ownUnit',id:'ownUnit2',type:'hidden'},
	            {tag:'input',name:'startTime',id:'startTime2',type:'hidden'},
	            {tag:'input',name:'endTime',id:'endTime2',type:'hidden'}
	        ]},true);
	    }
	    fd.child('#devSpi2').set({value:devSpi});
	    fd.child('#ownUnit2').set({value:ownUnit});
	    fd.child('#startTime2').set({value:startTime});
	    fd.child('#endTime2').set({value:endTime});
	    fd.dom.submit();
	} 
	
	/**
	 * 布局
	 */
	var viewport = new Ext.Viewport({
				layout : 'border',
				items : [grid]
			});
});